"""
数据容器(序列)的切片
"""
# 切片的语法
# 变量[起始位置:结束位置:步长]
# 起始位置:切片的起始位置(包含该位置)
# 结束位置:切片的结束位置(不包含该位置)
# 步长:切片的步长(默认为1)
# 注意事项：此操作不会修改原始数据容器，而是返回一个新的数据容器。
# 定义一个列表
my_list = ['apple', 'banana', 'cherry', 'date', 'elderberry', 'fig', 'grape']
# 切片操作
slice1 = my_list[1:5]  # 从索引1到索引5(不包含5)
print(slice1)  # 输出: ['banana', 'cherry', 'date', 'elderberry']
slice2 = my_list[:3]  # 从开始到索引3(不包含3)
print(slice2)  # 输出: ['apple', 'banana', 'cherry']
slice3 = my_list[4:]  # 从索引4到结束
print(slice3)  # 输出: ['elderberry', 'fig', 'grape']
slice4 = my_list[::2]  # 步长为2
print(slice4)  # 输出: ['apple', 'cherry', 'elderberry', 'grape']
slice5 = my_list[1:6:2]  # 从索引1到索引6(不包含6)，步长为2
print(slice5)  # 输出: ['banana', 'date', 'fig']
# 反向切片
reverse_slice = my_list[::-1]  # 反向切片
print(reverse_slice)  # 输出: ['grape', 'fig', 'elderberry', 'date', 'cherry', 'banana', 'apple']
# 取全部
full_slice = my_list[:]  # 取全部
print(full_slice)  # 输出: ['apple', 'banana', 'cherry', 'date', 'elderberry', 'fig', 'grape']
